﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;

using Tradex;

namespace Tradex.Connectivity.ConnectorModel {

    /// <summary>
    /// This baseline callback interface is used by a connector to report generic
    /// information back to the control instrance that is not related to any specific
    /// functional group.
    /// </summary>
    public interface IConnectorCallback {

        /// <summary>
        /// Requests a log entry to be created.
        /// </summary>
        /// <param name="traceLevel"></param>
        /// <param name="subject"></param>
        /// <param name="message"></param>
        /// <param name="origin"></param>
        /// <param name="reference"></param>
        void LogEntry(
            TraceLevel traceLevel,

            string subject,
            string message,
            string origin,
            string reference
        );

        /// <summary>
        /// Provides a satus update.
        /// </summary>
        /// <param name="status"></param>
        /// <param name="message"></param>
        void StatusUpdate (ConnectionStatusCode status, string message);

    }

}
